package com.sgcc.statistics.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sgcc.common.core.annotation.Excel;
import com.sgcc.common.core.web.domain.BaseEntity;

/**
 * CCons对象 c_cons
 * 
 * @author sgcc
 * @String 2021-04-14
 */
public class CCons extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 本实体记录的唯一标识，产生规则为流水号 */
    private Integer consId;

    /** 本实体记录的唯一标识，产生规则为流水号 */
    @Excel(name = "本实体记录的唯一标识，产生规则为流水号")
    private Integer vatId;

    /** 本实体记录的唯一标识，产生规则为流水号 */
    @Excel(name = "本实体记录的唯一标识，产生规则为流水号")
    private Integer custId;

    /** 用电客户的外部标识
引用国家电网公司营销管理代码类集:5110.1  用电客户编号规则 */
    @Excel(name = "用电客户的外部标识 引用国家电网公司营销管理代码类集:5110.1  用电客户编号规则")
    private String consNo;

    /** 用户的名称，一般等于客户实体中的客户名称，但也允许附加上一些非自然的信息。如 XXX（东城），便于通过用户名称直接识别。 */
    @Excel(name = "用户的名称，一般等于客户实体中的客户名称，但也允许附加上一些非自然的信息。如 XXX", readConverterExp = "东=城")
    private String consName;

    /** 存储客户提供的自己熟悉的一串标识码，客户通过各种服务渠道可以通过这个查询号来查询自己用电的信息，如客户有多个用电地址，可提供不同的查询号 */
    @Excel(name = "存储客户提供的自己熟悉的一串标识码，客户通过各种服务渠道可以通过这个查询号来查询自己用电的信息，如客户有多个用电地址，可提供不同的查询号")
    private String custQueryNo;

    /** 方便收费操作，用户间建立的松散的缴费关系的标识，可根据此编号缴费，系统显示该编号的所有客户欠费记录，但用户间不能互相共用余额 */
    @Excel(name = "方便收费操作，用户间建立的松散的缴费关系的标识，可根据此编号缴费，系统显示该编号的所有客户欠费记录，但用户间不能互相共用余额")
    private String tmpPayRelaNo;

    /** 原用户编号，用于系统升级的时候用户编号重新编号可以在一段时间内继续使用原用户编号查询用户信息 */
    @Excel(name = "原用户编号，用于系统升级的时候用户编号重新编号可以在一段时间内继续使用原用户编号查询用户信息")
    private String orgnConsNo;

    /** 用户一种常用的分类方式，方便用户的管理
01 高压，02 低压非居民，03 低压居民 */
    /*@Excel(name = "用户一种常用的分类方式，方便用户的管理 01 高压，02 低压非居民，03 低压居民")
    private String consSortCode;*/

    /** 用电客户的用电地址 */
    @Excel(name = "用电客户的用电地址")
    private String elecAddr;

    /** 用电客户的行业分类代码
引用国标GB/T 4754-2002 */
    @Excel(name = "用电客户的行业分类代码 引用国标GB/T 4754-2002")
    private String tradeCode;

    /** 用电客户的用电类别分类
引用国家电网公司营销管理代码类集:5110.4 用电类别
大工业用电，中小化肥，居民生活用电，农业生产用电，贫困县农业排灌用电 */
    @Excel(name = "用电客户的用电类别分类 引用国家电网公司营销管理代码类集:5110.4 用电类别 大工业用电，中小化肥，居民生活用电，农业生产用电，贫困县农业排灌用电")
    private String elecTypeCode;

    /** 合同约定的本用户的容量 */
    @Excel(name = "合同约定的本用户的容量")
    private Integer contractCap;

    /** 用电客户正在使用的合同容量，如暂停客户，在暂停期间其运行容量等于合同容量减去已暂停的容量 */
    @Excel(name = "用电客户正在使用的合同容量，如暂停客户，在暂停期间其运行容量等于合同容量减去已暂停的容量")
    private Integer runCap;

    /** 用电客户的生产班次分类
引用国家电网公司营销管理代码类集:5110.6用电客户生产班次代码
单班，二班，三班，连续生产 */
    @Excel(name = "用电客户的生产班次分类 引用国家电网公司营销管理代码类集:5110.6用电客户生产班次代码 单班，二班，三班，连续生产")
    private String shiftNo;

    /** 负荷的重要程度分类
引用国家电网公司营销管理代码类集:5110.44负荷类别分类与代码
一类，二类，三类 */
    @Excel(name = "负荷的重要程度分类 引用国家电网公司营销管理代码类集:5110.44负荷类别分类与代码 一类，二类，三类")
    private String lodeAttrCode;

    /** 用电客户的供电电压等级代码，多路电源时取电压等级最高的供电电压等级代码
引用《国家电网公司信息分类与代码体系－综合代码类集－电压等级代码表》 */
    @Excel(name = "用电客户的供电电压等级代码，多路电源时取电压等级最高的供电电压等级代码 引用《国家电网公司信息分类与代码体系－综合代码类集－电压等级代码表》")
    private String voltCode;

    /** 依据国家最新的高耗能行业划分 */
    @Excel(name = "依据国家最新的高耗能行业划分")
    private String hecIndustryCode;

    /** 周休日通过数字连续表示周休哪几天，类似于飞机航班日期表示，如1.2.3,表示星期一星期二和星期三休息。 */
    @Excel(name = "周休日通过数字连续表示周休哪几天，类似于飞机航班日期表示，如1.2.3,表示星期一星期二和星期三休息。")
    private String holiday;

    /** 电子用户档案的首次建立日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "电子用户档案的首次建立日期", width = 30, dateFormat = "yyyy-MM-dd  HH:mm:ss")
    private String buildDate;

    /** 用户的首次送电日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "用户的首次送电日期", width = 30, dateFormat = "yyyy-MM-dd  HH:mm:ss")
    private String psDate;

    /** 销户业务信息归档的日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "销户业务信息归档的日期", width = 30, dateFormat = "yyyy-MM-dd  HH:mm:ss")
    private String cancelDate;

    /** 临时用电客户约定的用电到期日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "临时用电客户约定的用电到期日期", width = 30, dateFormat = "yyyy-MM-dd  HH:mm:ss")
    private String dueDate;

    /** 用户每月电费的通知方式
引用国家电网公司营销管理代码类集:5110.57催费方式分类与代码
短信，通知单，电话，传真，E-MAIL等 */
    @Excel(name = "用户每月电费的通知方式 引用国家电网公司营销管理代码类集:5110.57催费方式分类与代码 短信，通知单，电话，传真，E-MAIL等")
    private String notifyMode;

    /** 用于区分是否分期结算
01 分期结算，02 抄表结算 */
    @Excel(name = "用于区分是否分期结算 01 分期结算，02 抄表结算")
    private String settleMode;

    /** 用电客户的状态说明，说明客户是否处于业扩变更中或已销户
引用国家电网公司营销管理代码类集:5110.9 客户状态标志代码
正常用电客户，当前新装客户，当前变更客户，已销户客户 */
    @Excel(name = "用电客户的状态说明，说明客户是否处于业扩变更中或已销户 引用国家电网公司营销管理代码类集:5110.9 客户状态标志代码 正常用电客户，当前新装客户，当前变更客户，已销户客户")
    private String statusCode;

    /** 供电单位编码，一般是指的用户的直接供电管理单位，也可以是大客户管理中心等由于管理原因产生的客户管理单位 */
    @Excel(name = "供电单位编码，一般是指的用户的直接供电管理单位，也可以是大客户管理中心等由于管理原因产生的客户管理单位")
    private String orgNo;

    /** 客户重要性等级：特级、一级、二级 */
    @Excel(name = "客户重要性等级：特级、一级、二级")
    private String rrioCode;

    /** 检查周期(单位：月)：用于存放客户检查周期信息，便于周期检查计划制定时，获取参数。 */
    @Excel(name = "检查周期(单位：月)：用于存放客户检查周期信息，便于周期检查计划制定时，获取参数。")
    private Integer chkCycle;

    /** 上次检查日期：用于存放客户上次检查日期，默认为客户的开户日期。 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "上次检查日期：用于存放客户上次检查日期，默认为客户的开户日期。", width = 30, dateFormat = "yyyy-MM-dd  HH:mm:ss")
    private String lastChkDate;

    /** 人员编号：分管检查人员的人员编号。 */
    @Excel(name = "人员编号：分管检查人员的人员编号。")
    private String checkerNo;

    /** 停电标志：01 已停电  02 未停电，反映客户当前是否处于停电状态 */
    @Excel(name = "停电标志：01 已停电  02 未停电，反映客户当前是否处于停电状态")
    private String poweroffCode;

    /** 标识客户是否是转供相关客户，如果涉及转供，是属于转供户还是被转供户
引用国家电网公司营销管理代码类集:5110.35 转供标志分类与代码
无转供，转供户，被转供户 */
    @Excel(name = "标识客户是否是转供相关客户，如果涉及转供，是属于转供户还是被转供户 引用国家电网公司营销管理代码类集:5110.35 转供标志分类与代码 无转供，转供户，被转供户")
    private String transferCode;

    /** 抄表段标识,用于表示用电客户所属的抄表段 */
    @Excel(name = "抄表段标识,用于表示用电客户所属的抄表段")
    private String mrSectNo;

    /** 用电客户每月电费默认打印的票据类型
引用国家电网公司营销管理代码类集:5110.107票据类型
普通发票，增值税发票，收据，无 */
    @Excel(name = "用电客户每月电费默认打印的票据类型 引用国家电网公司营销管理代码类集:5110.107票据类型 普通发票，增值税发票，收据，无")
    private String noteTypeCode;

    /** 表示是否是临时用电的用电客户，且属于哪种临时用电
01 装表临时用电，02 无表临时用电，03 非临时用电 */
    @Excel(name = "表示是否是临时用电的用电客户，且属于哪种临时用电 01 装表临时用电，02 无表临时用电，03 非临时用电")
    private String tmpFlag;

    /** 临时用电用户临时用电的到期日期 */
    /*@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "临时用电用户临时用电的到期日期", width = 30, dateFormat = "yyyy-MM-dd  HH:mm:ss")
    private String tmpDate;*/

    /** 城乡类别：01城市、02农村、03特殊边远地区 */
    /*@Excel(name = "城乡类别：01城市、02农村、03特殊边远地区")
    private String urbanRuralFlag;*/

    /** 用户对应负荷特性，包含：一般负荷、连续性负荷 */
    @Excel(name = "用户对应负荷特性，包含：一般负荷、连续性负荷")
    private String loadFeatureCode;

    /** 用户保安设施对应负荷容量 */
    /*@Excel(name = "用户保安设施对应负荷容量")
    private Integer securityCap;*/

    /** 市场化属性分类   01市场化  0101 市场化直购客户  0102 市场化零售客户  0103 部分市场化零售客户  02 非市场化  0201  非市场化客户 0202  放弃选择权的客户 */
    @Excel(name = "市场化属性分类   01市场化  0101 市场化直购客户  0102 市场化零售客户  0103 部分市场化零售客户  02 非市场化  0201  非市场化客户 0202  放弃选择权的客户")
    private String marketPropSort;

    private Double hNumPercentage;

    private Double qyhNumPercentage;

    private Integer userNum;

    private Integer qyUserNum;

    public Integer getQyUserNum() {
        return qyUserNum;
    }

    public void setQyUserNum(Integer qyUserNum) {
        this.qyUserNum = qyUserNum;
    }

    public Integer getUserNum() {
        return userNum;
    }

    public void setUserNum(Integer userNum) {
        this.userNum = userNum;
    }

    public Double getQyhNumPercentage() {
        return qyhNumPercentage;
    }

    public void setQyhNumPercentage(Double qyhNumPercentage) {
        this.qyhNumPercentage = qyhNumPercentage;
    }

    public Double gethNumPercentage() {
        return hNumPercentage;
    }

    public void sethNumPercentage(Double hNumPercentage) {
        this.hNumPercentage = hNumPercentage;
    }

    public void setConsId(Integer consId)
    {
        this.consId = consId;
    }

    public Integer getConsId() 
    {
        return consId;
    }
    public void setVatId(Integer vatId) 
    {
        this.vatId = vatId;
    }

    public Integer getVatId() 
    {
        return vatId;
    }
    public void setCustId(Integer custId) 
    {
        this.custId = custId;
    }

    public Integer getCustId() 
    {
        return custId;
    }
    public void setConsNo(String consNo) 
    {
        this.consNo = consNo;
    }

    public String getConsNo() 
    {
        return consNo;
    }
    public void setConsName(String consName) 
    {
        this.consName = consName;
    }

    public String getConsName() 
    {
        return consName;
    }
    public void setCustQueryNo(String custQueryNo) 
    {
        this.custQueryNo = custQueryNo;
    }

    public String getCustQueryNo() 
    {
        return custQueryNo;
    }
    public void setTmpPayRelaNo(String tmpPayRelaNo) 
    {
        this.tmpPayRelaNo = tmpPayRelaNo;
    }

    public String getTmpPayRelaNo() 
    {
        return tmpPayRelaNo;
    }
    public void setOrgnConsNo(String orgnConsNo) 
    {
        this.orgnConsNo = orgnConsNo;
    }

    public String getOrgnConsNo() 
    {
        return orgnConsNo;
    }
    /*public void setConsSortCode(String consSortCode)
    {
        this.consSortCode = consSortCode;
    }

    public String getConsSortCode() 
    {
        return consSortCode;
    }*/
    public void setElecAddr(String elecAddr) 
    {
        this.elecAddr = elecAddr;
    }

    public String getElecAddr() 
    {
        return elecAddr;
    }
    public void setTradeCode(String tradeCode) 
    {
        this.tradeCode = tradeCode;
    }

    public String getTradeCode() 
    {
        return tradeCode;
    }
    public void setElecTypeCode(String elecTypeCode) 
    {
        this.elecTypeCode = elecTypeCode;
    }

    public String getElecTypeCode() 
    {
        return elecTypeCode;
    }
    public void setContractCap(Integer contractCap) 
    {
        this.contractCap = contractCap;
    }

    public Integer getContractCap() 
    {
        return contractCap;
    }
    public void setRunCap(Integer runCap) 
    {
        this.runCap = runCap;
    }

    public Integer getRunCap() 
    {
        return runCap;
    }
    public void setShiftNo(String shiftNo) 
    {
        this.shiftNo = shiftNo;
    }

    public String getShiftNo() 
    {
        return shiftNo;
    }
    public void setLodeAttrCode(String lodeAttrCode) 
    {
        this.lodeAttrCode = lodeAttrCode;
    }

    public String getLodeAttrCode() 
    {
        return lodeAttrCode;
    }
    public void setVoltCode(String voltCode) 
    {
        this.voltCode = voltCode;
    }

    public String getVoltCode() 
    {
        return voltCode;
    }
    public void setHecIndustryCode(String hecIndustryCode) 
    {
        this.hecIndustryCode = hecIndustryCode;
    }

    public String getHecIndustryCode() 
    {
        return hecIndustryCode;
    }
    public void setHoliday(String holiday) 
    {
        this.holiday = holiday;
    }

    public String getHoliday() 
    {
        return holiday;
    }
    public void setBuildDate(String buildDate) 
    {
        this.buildDate = buildDate;
    }

    public String getBuildDate() 
    {
        return buildDate;
    }
    public void setPsDate(String psDate) 
    {
        this.psDate = psDate;
    }

    public String getPsDate() 
    {
        return psDate;
    }
    public void setCancelDate(String cancelDate) 
    {
        this.cancelDate = cancelDate;
    }

    public String getCancelDate() 
    {
        return cancelDate;
    }
    public void setDueDate(String dueDate) 
    {
        this.dueDate = dueDate;
    }

    public String getDueDate() 
    {
        return dueDate;
    }
    public void setNotifyMode(String notifyMode) 
    {
        this.notifyMode = notifyMode;
    }

    public String getNotifyMode() 
    {
        return notifyMode;
    }
    public void setSettleMode(String settleMode) 
    {
        this.settleMode = settleMode;
    }

    public String getSettleMode() 
    {
        return settleMode;
    }
    public void setStatusCode(String statusCode) 
    {
        this.statusCode = statusCode;
    }

    public String getStatusCode() 
    {
        return statusCode;
    }
    public void setOrgNo(String orgNo) 
    {
        this.orgNo = orgNo;
    }

    public String getOrgNo() 
    {
        return orgNo;
    }
    public void setRrioCode(String rrioCode) 
    {
        this.rrioCode = rrioCode;
    }

    public String getRrioCode() 
    {
        return rrioCode;
    }
    public void setChkCycle(Integer chkCycle) 
    {
        this.chkCycle = chkCycle;
    }

    public Integer getChkCycle() 
    {
        return chkCycle;
    }
    public void setLastChkDate(String lastChkDate) 
    {
        this.lastChkDate = lastChkDate;
    }

    public String getLastChkDate() 
    {
        return lastChkDate;
    }
    public void setCheckerNo(String checkerNo) 
    {
        this.checkerNo = checkerNo;
    }

    public String getCheckerNo() 
    {
        return checkerNo;
    }
    public void setPoweroffCode(String poweroffCode) 
    {
        this.poweroffCode = poweroffCode;
    }

    public String getPoweroffCode() 
    {
        return poweroffCode;
    }
    public void setTransferCode(String transferCode) 
    {
        this.transferCode = transferCode;
    }

    public String getTransferCode() 
    {
        return transferCode;
    }
    public void setMrSectNo(String mrSectNo) 
    {
        this.mrSectNo = mrSectNo;
    }

    public String getMrSectNo() 
    {
        return mrSectNo;
    }
    public void setNoteTypeCode(String noteTypeCode) 
    {
        this.noteTypeCode = noteTypeCode;
    }

    public String getNoteTypeCode() 
    {
        return noteTypeCode;
    }
    public void setTmpFlag(String tmpFlag) 
    {
        this.tmpFlag = tmpFlag;
    }

    public String getTmpFlag() 
    {
        return tmpFlag;
    }
    /*public void setTmpDate(String tmpDate)
    {
        this.tmpDate = tmpDate;
    }

    public String getTmpDate() 
    {
        return tmpDate;
    }*/
    /*public void setUrbanRuralFlag(String urbanRuralFlag)
    {
        this.urbanRuralFlag = urbanRuralFlag;
    }

    public String getUrbanRuralFlag() 
    {
        return urbanRuralFlag;
    }*/
    public void setLoadFeatureCode(String loadFeatureCode) 
    {
        this.loadFeatureCode = loadFeatureCode;
    }

    public String getLoadFeatureCode() 
    {
        return loadFeatureCode;
    }
    /*public void setSecurityCap(Integer securityCap)
    {
        this.securityCap = securityCap;
    }

    public Integer getSecurityCap() 
    {
        return securityCap;
    }*/
    public void setMarketPropSort(String marketPropSort) 
    {
        this.marketPropSort = marketPropSort;
    }

    public String getMarketPropSort() 
    {
        return marketPropSort;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("consId", getConsId())
            .append("vatId", getVatId())
            .append("custId", getCustId())
            .append("consNo", getConsNo())
            .append("consName", getConsName())
            .append("custQueryNo", getCustQueryNo())
            .append("tmpPayRelaNo", getTmpPayRelaNo())
            .append("orgnConsNo", getOrgnConsNo())
//            .append("consSortCode", getConsSortCode())
            .append("elecAddr", getElecAddr())
            .append("tradeCode", getTradeCode())
            .append("elecTypeCode", getElecTypeCode())
            .append("contractCap", getContractCap())
            .append("runCap", getRunCap())
            .append("shiftNo", getShiftNo())
            .append("lodeAttrCode", getLodeAttrCode())
            .append("voltCode", getVoltCode())
            .append("hecIndustryCode", getHecIndustryCode())
            .append("holiday", getHoliday())
            .append("buildDate", getBuildDate())
            .append("psDate", getPsDate())
            .append("cancelDate", getCancelDate())
            .append("dueDate", getDueDate())
            .append("notifyMode", getNotifyMode())
            .append("settleMode", getSettleMode())
            .append("statusCode", getStatusCode())
            .append("orgNo", getOrgNo())
            .append("rrioCode", getRrioCode())
            .append("chkCycle", getChkCycle())
            .append("lastChkDate", getLastChkDate())
            .append("checkerNo", getCheckerNo())
            .append("poweroffCode", getPoweroffCode())
            .append("transferCode", getTransferCode())
            .append("mrSectNo", getMrSectNo())
            .append("noteTypeCode", getNoteTypeCode())
            .append("tmpFlag", getTmpFlag())
//            .append("tmpDate", getTmpDate())
//            .append("urbanRuralFlag", getUrbanRuralFlag())
            .append("loadFeatureCode", getLoadFeatureCode())
//            .append("securityCap", getSecurityCap())
            .append("marketPropSort", getMarketPropSort())
            .toString();
    }
}
